<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fdk-aac: original/libSBRenc/src/tran_det.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">fdk-aac
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ed137715e08969a186ec660e8ae6e2fb.html">original</a></li><li class="navelem"><a class="el" href="dir_ed04b364c633b7d989cbbfdbe7d82d9c.html">libSBRenc</a></li><li class="navelem"><a class="el" href="dir_503efe22260b46e9073f09b8bee50978.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">tran_det.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Transient detector prototypes.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;sbr_encoder.h&quot;</code><br />
<code>#include &quot;<a class="el" href="sbr__def_8h_source.html">sbr_def.h</a>&quot;</code><br />
</div>
<p><a href="tran__det_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_s_b_r___t_r_a_n_s_i_e_n_t___d_e_t_e_c_t_o_r.html">SBR_TRANSIENT_DETECTOR</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_f_a_s_t___t_r_a_n___d_e_t_e_c_t_o_r.html">FAST_TRAN_DETECTOR</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a4c28d1c54affbc180992bc34342345b0"><td class="memItemLeft" align="right" valign="top"><a id="a4c28d1c54affbc180992bc34342345b0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_LOOKAHEAD</b>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a4c28d1c54affbc180992bc34342345b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6f996963721f59e62b4b3d83a25ba3"><td class="memItemLeft" align="right" valign="top"><a id="a6b6f996963721f59e62b4b3d83a25ba3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_START_FREQ</b>&#160;&#160;&#160;4500 /*start frequency for transient detection*/</td></tr>
<tr class="separator:a6b6f996963721f59e62b4b3d83a25ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0550737e1dc2276c178bb7bbbec6261a"><td class="memItemLeft" align="right" valign="top"><a id="a0550737e1dc2276c178bb7bbbec6261a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_STOP_FREQ</b>&#160;&#160;&#160;13500 /*stop frequency for transient detection*/</td></tr>
<tr class="separator:a0550737e1dc2276c178bb7bbbec6261a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7f4dd11bf17c4013604e96fb442990"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_MIN_QMFBANDS</b></td></tr>
<tr class="separator:acb7f4dd11bf17c4013604e96fb442990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5af06cc425ee862b6ebcd5620121239"><td class="memItemLeft" align="right" valign="top"><a id="ab5af06cc425ee862b6ebcd5620121239"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>QMF_HP_dBd_SLOPE_FIX</b>&#160;&#160;&#160;  FL2FXCONST_DBL(0.00075275f) /* 0.002266f/10 * log2(10) */</td></tr>
<tr class="separator:ab5af06cc425ee862b6ebcd5620121239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea46c7bee34637b5be49d354fa9a32ea"><td class="memItemLeft" align="right" valign="top"><a id="aea46c7bee34637b5be49d354fa9a32ea"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_THRSHLD</b>&#160;&#160;&#160;FL2FXCONST_DBL(5.0f / 8.0f)</td></tr>
<tr class="separator:aea46c7bee34637b5be49d354fa9a32ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abea4bf312e855ddc8814d7d4add85391"><td class="memItemLeft" align="right" valign="top"><a id="abea4bf312e855ddc8814d7d4add85391"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRAN_DET_THRSHLD_SCALE</b>&#160;&#160;&#160;(3)</td></tr>
<tr class="separator:abea4bf312e855ddc8814d7d4add85391"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:abaf18e4260e6198ccc3309087e09df25"><td class="memItemLeft" align="right" valign="top"><a id="abaf18e4260e6198ccc3309087e09df25"></a>
typedef <a class="el" href="struct_s_b_r___t_r_a_n_s_i_e_n_t___d_e_t_e_c_t_o_r.html">SBR_TRANSIENT_DETECTOR</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HANDLE_SBR_TRANSIENT_DETECTOR</b></td></tr>
<tr class="separator:abaf18e4260e6198ccc3309087e09df25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aa3b21ec450e4ec84d37a618fde972d"><td class="memItemLeft" align="right" valign="top"><a id="a5aa3b21ec450e4ec84d37a618fde972d"></a>
typedef <a class="el" href="struct_f_a_s_t___t_r_a_n___d_e_t_e_c_t_o_r.html">FAST_TRAN_DETECTOR</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>HANDLE_FAST_TRAN_DET</b></td></tr>
<tr class="separator:a5aa3b21ec450e4ec84d37a618fde972d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a62b23b5cbec772f8e7bbffae6b4a5cac"><td class="memItemLeft" align="right" valign="top"><a id="a62b23b5cbec772f8e7bbffae6b4a5cac"></a>
<a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FDKsbrEnc_InitSbrFastTransientDetector</b> (<a class="el" href="struct_f_a_s_t___t_r_a_n___d_e_t_e_c_t_o_r.html">HANDLE_FAST_TRAN_DET</a> h_sbrFastTransientDetector, const <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> time_slots_per_frame, const <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> bandwidth_qmf_slot, const <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> no_qmf_channels, const <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> sbr_qmf_1st_band)</td></tr>
<tr class="separator:a62b23b5cbec772f8e7bbffae6b4a5cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187a9f77753fa177acfcd86c3b044dd8"><td class="memItemLeft" align="right" valign="top"><a id="a187a9f77753fa177acfcd86c3b044dd8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>FDKsbrEnc_fastTransientDetect</b> (const <a class="el" href="struct_f_a_s_t___t_r_a_n___d_e_t_e_c_t_o_r.html">HANDLE_FAST_TRAN_DET</a> h_sbrFastTransientDetector, const FIXP_DBL *const *Energies, const int *const scaleEnergies, const <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> YBufferWriteOffset, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *const tran_vector)</td></tr>
<tr class="separator:a187a9f77753fa177acfcd86c3b044dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a0663e770f4ca91e1dc28da9358b2a"><td class="memItemLeft" align="right" valign="top"><a id="aa1a0663e770f4ca91e1dc28da9358b2a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>FDKsbrEnc_transientDetect</b> (<a class="el" href="struct_s_b_r___t_r_a_n_s_i_e_n_t___d_e_t_e_c_t_o_r.html">HANDLE_SBR_TRANSIENT_DETECTOR</a> h_sbrTransientDetector, FIXP_DBL **Energies, <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> *scaleEnergies, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *tran_vector, int YBufferWriteOffset, int YBufferSzShift, int timeStep, int frameMiddleBorder)</td></tr>
<tr class="separator:aa1a0663e770f4ca91e1dc28da9358b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3242ca30628a8a830b20d1963b3f64b"><td class="memItemLeft" align="right" valign="top"><a id="ae3242ca30628a8a830b20d1963b3f64b"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>FDKsbrEnc_InitSbrTransientDetector</b> (<a class="el" href="struct_s_b_r___t_r_a_n_s_i_e_n_t___d_e_t_e_c_t_o_r.html">HANDLE_SBR_TRANSIENT_DETECTOR</a> h_sbrTransientDetector, <a class="el" href="machine__type_8h.html#afff0ab3629a68bc1bb3b2a2f4296173f">UINT</a> sbrSyntaxFlags, <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> frameSize, <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> sampleFreq, <a class="el" href="structsbr_configuration.html">sbrConfigurationPtr</a> params, int tran_fc, int no_cols, int no_rows, int YBufferWriteOffset, int YBufferSzShift, int frameShift, int tran_off)</td></tr>
<tr class="separator:ae3242ca30628a8a830b20d1963b3f64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea5e4eb45782b6610c78ac487a6aa481"><td class="memItemLeft" align="right" valign="top"><a id="aea5e4eb45782b6610c78ac487a6aa481"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>FDKsbrEnc_frameSplitter</b> (FIXP_DBL **Energies, <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a> *scaleEnergies, <a class="el" href="struct_s_b_r___t_r_a_n_s_i_e_n_t___d_e_t_e_c_t_o_r.html">HANDLE_SBR_TRANSIENT_DETECTOR</a> h_sbrTransientDetector, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *freqBandTable, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *tran_vector, int YBufferWriteOffset, int YBufferSzShift, int nSfb, int timeStep, int no_cols, FIXP_DBL *tonality)</td></tr>
<tr class="separator:aea5e4eb45782b6610c78ac487a6aa481"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Transient detector prototypes. </p>
<dl class="section rcs"><dt>Revision</dt><dd>95111 </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acb7f4dd11bf17c4013604e96fb442990"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb7f4dd11bf17c4013604e96fb442990">&#9670;&nbsp;</a></span>TRAN_DET_MIN_QMFBANDS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TRAN_DET_MIN_QMFBANDS</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">  4 <span class="comment">/* minimum qmf bands for transient detection \</span></div>
<div class="line"><span class="comment">     */</span></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
